#!/usr/bin/env python3

# **********************************************************************
#
# Copyright (c) 2012-2022 Barbara Geller
# Copyright (c) 2012-2022 Ansel Sermersheim
#
# Copyright (c) 2015 The Qt Company Ltd.
# Copyright (c) 2012-2016 Digia Plc and/or its subsidiary(-ies).
# Copyright (c) 2008-2012 Nokia Corporation and/or its subsidiary(-ies).
#
# This file is part of CopperSpice.
#
# CopperSpice is free software. You can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public License
# version 2.1 as published by the Free Software Foundation.
#
# CopperSpice is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#
# https://www.gnu.org/licenses/
#
# **********************************************************************

# language_list, script_list, and country_list reflect the current values of enums in qlocale.h
# If new xml language files are available in CLDR, *appended* to this list.

language_list = [
   [ "AnyLanguage",                  "  "   ],
   [ "C",                            "  "   ],
   [ "Abaza",                  	    "abq"  ],
   [ "Abkhazian",                    "ab"   ],
   [ "Afar",                         "aa"   ],
   [ "Afrikaans",                    "af"   ],
   [ "Aghem",                        "agq"  ],
   [ "Akan",                         "ak"   ],
   [ "Akkadian",                     "akk"  ],
   [ "Akoose",                       "bss"  ],
   [ "Albanian",                     "sq"   ],
   [ "American Sign Language",       "ase"  ],
   [ "Amharic",                      "am"   ],
   [ "Ancient North Arabian",        "xna"  ],
   [ "AncientEgyptian",              "egy"  ],
   [ "AncientGreek",                 "grc"  ],
   [ "Arabic",                       "ar"   ],
   [ "Aragonese",                    "an"   ],
   [ "Aramaic",                      "arc"  ],
   [ "Armenian",                     "hy"   ],
   [ "Assamese",                     "as"   ],
   [ "Asturian",                     "ast"  ],
   [ "Asu",                          "asa"  ],
   [ "Atsam",                        "cch"  ],
   [ "Avaric",                       "av"   ],
   [ "Avestan",                      "ae"   ],
   [ "Aymara",                       "ay"   ],
   [ "Azerbaijani",                  "az"   ],
   [ "Bafia",                        "ksf"  ],
   [ "Balinese",                     "ban"  ],
   [ "Bambara",                      "bm"   ],
   [ "Bamun",                        "bax"  ],
   [ "Bangla",                       "bn"   ],
   [ "Basaa",                        "bas"  ],
   [ "Bashkir",                      "ba"   ],
   [ "Basque",                       "eu"   ],
   [ "BatakToba",                    "bbc"  ],
   [ "Belarusian",                   "be"   ],
   [ "Bemba",                        "bem"  ],
   [ "Bena",                         "bez"  ],
   [ "Bhojpuri",                     "bho"  ],
   [ "Bislama",                      "bi"   ],
   [ "Blin",                         "byn"  ],
   [ "Bodo",                         "brx"  ],
   [ "Bosnian",                      "bs"   ],
   [ "Breton",                       "br"   ],
   [ "Buginese",                     "bug"  ],
   [ "Buhid",                        "bku"  ],
   [ "Bulgarian",                    "bg"   ],
   [ "Burmese",                      "my"   ],
   [ "Cantonese",                    "yue"  ],
   [ "Carian",                       "xcr"  ],
   [ "Catalan",                      "ca"   ],
   [ "Cebuano",                      "ceb"  ],
   [ "Central Atlas Tamazight",      "tzm"  ],
   [ "Central Kurdish",              "ckb"  ],
   [ "Chakma",                       "ccp"  ],
   [ "Chamorro",                     "ch"   ],
   [ "Chechen",                      "ce"   ],
   [ "Cherokee",                     "chr"  ],
   [ "Chickasaw",                    "cic"  ],
   [ "Chiga",                        "cgg"  ],
   [ "Chinese",                      "zh"   ],
   [ "Church",                       "cu"   ],
   [ "Chuvash",                      "cv"   ],
   [ "Classical Mandaic",            "myz"  ],
   [ "Colognian",                    "ksh"  ],
   [ "Coptic",                       "cop"  ],
   [ "Cornish",                      "kw"   ],
   [ "Corsican",                     "co"   ],
   [ "Cree",                         "cr"   ],
   [ "Croatian",                     "hr"   ],
   [ "Czech",                        "cs"   ],
   [ "Danish",                       "da"   ],
   [ "Divehi",                       "dv"   ],
   [ "Dogri",                        "doi"  ],
   [ "Duala",                        "dua"  ],
   [ "Dutch",                        "nl"   ],
   [ "Dzongkha",                     "dz"   ],
   [ "Eastern Cham",                 "cjm"  ],
   [ "Eastern Kayah",                "eky"  ],
   [ "Embu",                         "ebu"  ],
   [ "English",                      "en"   ],
   [ "Erzya",                        "myv"  ],
   [ "Esperanto",                    "eo"   ],
   [ "Estonian",                     "et"   ],
   [ "Etruscan",                     "ett"  ],
   [ "Ewe",                          "ee"   ],
   [ "Ewondo",                       "ewo"  ],
   [ "Faroese",                      "fo"   ],
   [ "Fijian",                       "fj"   ],
   [ "Filipino",                     "fil"  ],
   [ "Finnish",                      "fi"   ],
   [ "French",                       "fr"   ],
   [ "Friulian",                     "fur"  ],
   [ "Fulah",                        "ff"   ],
   [ "Ga",                           "gaa"  ],
   [ "Gaelic",                       "gd"   ],
   [ "Galician",                     "gl"   ],
   [ "Ganda",                        "lg"   ],
   [ "Geez",                         "gez"  ],
   [ "Georgian",                     "ka"   ],
   [ "German",                       "de"   ],
   [ "Gothic",                       "got"  ],
   [ "Greek",                        "el"   ],
   [ "Guarani",                      "gn"   ],
   [ "Gujarati",                     "gu"   ],
   [ "Gusii",                        "guz"  ],
   [ "Haitian",                      "ht"   ],
   [ "Hanunoo",                      "hnn"  ],
   [ "Hausa",                        "ha"   ],
   [ "Hawaiian",                     "haw"  ],
   [ "Hebrew",                       "he"   ],
   [ "Herero",                       "hz"   ],
   [ "Hindi",                        "hi"   ],
   [ "Hiri Motu",                    "ho"   ],
   [ "Hmong Njua",                   "hnj"  ],
   [ "Ho",                           "hoc"  ],
   [ "Hungarian",                    "hu"   ],
   [ "Icelandic",                    "is"   ],
   [ "Igbo",                         "ig"   ],
   [ "Inari Sami",                   "smn"  ],
   [ "Indonesian",                   "id"   ],
   [ "Ingush",                       "inh"  ],
   [ "Interlingua",                  "ia"   ],
   [ "Interlingue",                  "ie"   ],
   [ "Inuktitut",                    "iu"   ],
   [ "Inupiaq",                      "ik"   ],
   [ "Irish",                        "ga"   ],
   [ "Italian",                      "it"   ],
   [ "Japanese",                     "ja"   ],
   [ "Javanese",                     "jv"   ],
   [ "Jju",                          "kaj"  ],
   [ "JolaFonyi",                    "dyo"  ],
   [ "Kabuverdianu",                 "kea"  ],
   [ "Kabyle",                       "kab"  ],
   [ "Kako",                         "kkj"  ],
   [ "Kalaallisut",                  "kl"   ],
   [ "Kalenjin",                     "kln"  ],
   [ "Kamba",                        "kam"  ],
   [ "Kannada",                      "kn"   ],
   [ "Kanuri",                       "kr"   ],
   [ "Kashmiri",                     "ks"   ],
   [ "Kazakh",                       "kk"   ],
   [ "Kenyang",                      "ken"  ],
   [ "Khmer",                        "km"   ],
   [ "Kiche",                        "quc"  ],
   [ "Kikuyu",                       "ki"   ],
   [ "Kinyarwanda",                  "rw"   ],
   [ "Komi",                         "kv"   ],
   [ "Kongo",                        "kg"   ],
   [ "Konkani",                      "kok"  ],
   [ "Korean",                       "ko"   ],
   [ "Koro",                         "kfo"  ],
   [ "Koyra Chiini",                 "khq"  ],
   [ "Koyraboro Senni",              "ses"  ],
   [ "Kpelle",                       "kpe"  ],
   [ "Kuanyama",                     "kj"   ],
   [ "Kurdish",                      "ku"   ],
   [ "Kwasio",                       "nmg"  ],
   [ "Kyrgyz",                       "ky"   ],
   [ "Lakota",                       "lkt"  ],
   [ "Langi",                        "lag"  ],
   [ "Lao",                          "lo"   ],
   [ "Large Flowery Miao",           "hmd"  ],
   [ "Latin",                        "la"   ],
   [ "Latvian",                      "lv"   ],
   [ "Lepcha",                       "lep"  ],
   [ "Lezghian",                     "lez"  ],
   [ "Limbu",                        "lif"  ],
   [ "Limburgish",                   "li"   ],
   [ "Linear A",                     "lab"  ],
   [ "Lingala",                      "ln"   ],
   [ "Lisu",                         "lis"  ],
   [ "Literary Chinese",             "lzh"  ],
   [ "Lithuanian",                   "lt"   ],
   [ "Low German",                   "nds"  ],
   [ "Lower Sorbian",                "dsb"  ],
   [ "Lu",                           "khb"  ],
   [ "LubaKatanga",                  "lu"   ],
   [ "Lule Sami",                    "smj"  ],
   [ "Luo",                          "luo"  ],
   [ "Luxembourgish",                "lb"   ],
   [ "Luyia",                        "luy"  ],
   [ "Lycian",                       "xlc"  ],
   [ "Lydian",                       "xld"  ],
   [ "Macedonian",                   "mk"   ],
   [ "Machame",                      "jmc"  ],
   [ "Maithili",                     "mai"  ],
   [ "Makhuwa-Meetto",               "mgh"  ],
   [ "Makonde",                      "kde"  ],
   [ "Malagasy",                     "mg"   ],
   [ "Malay",                        "ms"   ],
   [ "Malayalam",                    "ml"   ],
   [ "Maltese",                      "mt"   ],
   [ "Mandingo",                     "man"  ],
   [ "Manichaean Middle Persian",    "xmn"  ],
   [ "Manipuri",                     "mni"  ],
   [ "Manx",                         "gv"   ],
   [ "Maori",                        "mi"   ],
   [ "Mapuche",                      "arn"  ],
   [ "Marathi",                      "mr"   ],
   [ "Marshallese",                  "mh"   ],
   [ "Masai",                        "mas"  ],
   [ "Mazanderani",                  "mzn"  ],
   [ "Mende",                        "men"  ],
   [ "Meroitic",                     "xmr"  ],
   [ "Meru",                         "mer"  ],
   [ "Meta",                         "mgo"  ],
   [ "Mohawk",                       "moh"  ],
   [ "Mongolian",                    "mn"   ],
   [ "Morisyen",                     "mfe"  ],
   [ "Mundang",                      "mua"  ],
   [ "Muscogee",                     "mus"  ],
   [ "Nama",                         "naq"  ],
   [ "Nauru",                        "na"   ],
   [ "Navajo",                       "nv"   ],
   [ "Ndonga",                       "ng"   ],
   [ "Nepali",                       "ne"   ],
   [ "Newari",                       "new"  ],
   [ "Ngiemboon",                    "nnh"  ],
   [ "Ngomba",                       "jgo"  ],
   [ "Nigerian Pidgin",              "pcm"  ],
   [ "Nko",                          "nqo"  ],
   [ "North Ndebele",                "nd"   ],
   [ "Northern Luri",                "lrc"  ],
   [ "Northern Sami",                "se"   ],
   [ "Northern Sotho",               "nso"  ],
   [ "Northern Thai",                "nod"  ],
   [ "Norwegian Bokmal",             "nb"   ],
   [ "Norwegian Nynorsk",            "nn"   ],
   [ "Nuer",                         "nus"  ],
   [ "Nyanja",                       "ny"   ],
   [ "Nyankole",                     "nyn"  ],
   [ "Occitan",                      "oc"   ],
   [ "Odia",                         "or"   ],
   [ "Ojibwa",                       "oj"   ],
   [ "Old Irish",                    "sga"  ],
   [ "Old Norse",                    "non"  ],
   [ "Old Persian",                  "peo"  ],
   [ "Old Turkish",                  "otk"  ],
   [ "Oromo",                        "om"   ],
   [ "Osage",                        "osa"  ],
   [ "Ossetic",                      "os"   ],
   [ "Pahlavi",                      "pal"  ],
   [ "Palauan",                      "pau"  ],
   [ "Pali",                         "pi"   ],
   [ "Papiamento",                   "pap"  ],
   [ "Parthian",                     "xpr"  ],
   [ "Pashto",                       "ps"   ],
   [ "Persian",                      "fa"   ],
   [ "Phoenician",                   "phn"  ],
   [ "Polish",                       "pl"   ],
   [ "Portuguese",                   "pt"   ],
   [ "Prussian",                     "prg"  ],
   [ "Punjabi",                      "pa"   ],
   [ "Quechua",                      "qu"   ],
   [ "Rejang",                       "rej"  ],
   [ "Romanian",                     "ro"   ],
   [ "Romansh",                      "rm"   ],
   [ "Rombo",                        "rof"  ],
   [ "Rundi",                        "rn"   ],
   [ "Russian",                      "ru"   ],
   [ "Rwa",                          "rwk"  ],
   [ "Sabaean",                      "xsa"  ],
   [ "Saho",                         "ssy"  ],
   [ "Sakha",                        "sah"  ],
   [ "Samaritan",                    "smp"  ],
   [ "Samburu",                      "saq"  ],
   [ "Samoan",                       "sm"   ],
   [ "Sango",                        "sg"   ],
   [ "Sangu",                        "sbp"  ],
   [ "Sanskrit",                     "sa"   ],
   [ "Santali",                      "sat"  ],
   [ "Sardinian",                    "sc"   ],
   [ "Saurashtra",                   "saz"  ],
   [ "Sena",                         "seh"  ],
   [ "Serbian",                      "sr"   ],
   [ "Shambala",                     "ksb"  ],
   [ "Shona",                        "sn"   ],
   [ "Sichuan Yi",                   "ii"   ],
   [ "Sicilian",                     "scn"  ],
   [ "Sidamo",                       "sid"  ],
   [ "Silesian",                     "szl"  ],
   [ "Sindhi",                       "sd"   ],
   [ "Sinhala",                      "si"   ],
   [ "Skolt Sami",                   "sms"  ],
   [ "Slovak",                       "sk"   ],
   [ "Slovenian",                    "sl"   ],
   [ "Soga",                         "xog"  ],
   [ "Somali",                       "so"   ],
   [ "Sora",                         "srb"  ],
   [ "South Ndebele",                "nr"   ],
   [ "Southern Kurdish",             "sdh"  ],
   [ "Southern Sami",                "sma"  ],
   [ "Southern Sotho",               "st"   ],
   [ "Spanish",                      "es"   ],
   [ "Standard Moroccan Tamazight",  "zgh"  ],
   [ "Sundanese",                    "su"   ],
   [ "Swahili",                      "sw"   ],
   [ "Swati",                        "ss"   ],
   [ "Swedish",                      "sv"   ],
   [ "Swiss German",                 "gsw"  ],
   [ "Sylheti",                      "syl"  ],
   [ "Syriac",                       "syr"  ],
   [ "Tachelhit",                    "shi"  ],
   [ "Tagbanwa",                     "tbw"  ],
   [ "Tahitian",                     "ty"   ],
   [ "Tai Dam",                      "blt"  ],
   [ "Tai Nua",                      "tdd"  ],
   [ "Taita",                        "dav"  ],
   [ "Tajik",                        "tg"   ],
   [ "Tamil",                        "ta"   ],
   [ "Taroko",                       "trv"  ],
   [ "Tasawaq",                      "twq"  ],
   [ "Tatar",                        "tt"   ],
   [ "Tedim Chin",                   "ctd"  ],
   [ "Telugu",                       "te"   ],
   [ "Teso",                         "teo"  ],
   [ "Thai",                         "th"   ],
   [ "Tibetan",                      "bo"   ],
   [ "Tigre",                        "tig"  ],
   [ "Tigrinya",                     "ti"   ],
   [ "Tok Pisin",                    "tpi"  ],
   [ "Tokelau",                      "tkl"  ],
   [ "Tongan",                       "to"   ],
   [ "Tsonga",                       "ts"   ],
   [ "Tswana",                       "tn"   ],
   [ "Turkish",                      "tr"   ],
   [ "Turkmen",                      "tk"   ],
   [ "Tuvalu",                       "tvl"  ],
   [ "Tyap",                         "kcg"  ],
   [ "Ugaritic",                     "uga"  ],
   [ "Ukrainian",                    "uk"   ],
   [ "Upper Sorbian",                "hsb"  ],
   [ "Urdu",                         "ur"   ],
   [ "Uyghur",                       "ug"   ],
   [ "Uzbek",                        "uz"   ],
   [ "Vai",                          "vai"  ],
   [ "Venda",                        "ve"   ],
   [ "Vietnamese",                   "vi"   ],
   [ "Volapuk",                      "vo"   ],
   [ "Vunjo",                        "vun"  ],
   [ "Walloon",                      "wa"   ],
   [ "Walser",                       "wae"  ],
   [ "Warlpiri",                     "wbp"  ],
   [ "Welsh",                        "cy"   ],
   [ "Western Balochi",              "bgn"  ],
   [ "Western Frisian",              "fy"   ],
   [ "Wolaytta",                     "wal"  ],
   [ "Wolof",                        "wo"   ],
   [ "Xhosa",                        "xh"   ],
   [ "Yangben",                      "yav"  ],
   [ "Yiddish",                      "yi"   ],
   [ "Yoruba",                       "yo"   ],
   [ "Zarma",                        "dje"  ],
   [ "Zhuang",                       "za"   ],
   [ "Zulu",                         "zu"   ]
]

country_list = [
   [ "AnyCountry",                                "ZZ"  ],
   [ "Afghanistan",                               "AF"  ],
   [ "AlandIslands",                              "AC"  ],
   [ "Albania",                                   "AL"  ],
   [ "Algeria",                                   "DZ"  ],
   [ "AmericanSamoa",                             "AS"  ],
   [ "Andorra",                                   "AD"  ],
   [ "Angola",                                    "AO"  ],
   [ "Anguilla",                                  "AI"  ],
   [ "Antarctica",                                "AQ"  ],
   [ "AntiguaAndBarbuda",                         "AG"  ],
   [ "Argentina",                                 "AR"  ],
   [ "Armenia",                                   "AM"  ],
   [ "Aruba",                                     "AW"  ],
   [ "AscensionIsland",                           "AX"  ],
   [ "Australia",                                 "AU"  ],
   [ "Austria",                                   "AT"  ],
   [ "Azerbaijan",                                "AZ"  ],
   [ "Bahamas",                                   "BS"  ],
   [ "Bahrain",                                   "BH"  ],
   [ "Bangladesh",                                "BD"  ],
   [ "Barbados",                                  "BB"  ],
   [ "Belarus",                                   "BY"  ],
   [ "Belgium",                                   "BE"  ],
   [ "Belize",                                    "BZ"  ],
   [ "Benin",                                     "BJ"  ],
   [ "Bermuda",                                   "BM"  ],
   [ "Bhutan",                                    "BT"  ],
   [ "Bolivia",                                   "BO"  ],
   [ "BosniaAndHerzegowina",                      "BA"  ],
   [ "Botswana",                                  "BW"  ],
   [ "BouvetIsland",                              "BV"  ],
   [ "Brazil",                                    "BR"  ],
   [ "BritishIndianOceanTerritory",               "IO"  ],
   [ "BritishVirginIslands",                      "VG"  ],
   [ "Brunei",                                    "BN"  ],
   [ "Bulgaria",                                  "BG"  ],
   [ "BurkinaFaso",                               "BF"  ],
   [ "Burundi",                                   "BI"  ],
   [ "Cambodia",                                  "KH"  ],
   [ "Cameroon",                                  "CM"  ],
   [ "Canada",                                    "CA"  ],
   [ "CanaryIslands",                             "IC"  ],
   [ "CapeVerde",                                 "CV"  ],
   [ "CaribbeanNetherlands",                      "BQ"  ],
   [ "CaymanIslands",                             "KY"  ],
   [ "CentralAfricanRepublic",                    "CF"  ],
   [ "CeutaAndMelilla",                           "EA"  ],
   [ "Chad",                                      "TD"  ],
   [ "Chile",                                     "CL"  ],
   [ "China",                                     "CN"  ],
   [ "ChristmasIsland",                           "CX"  ],
   [ "ClippertonIsland",                          "CP"  ],
   [ "CocosIslands",                              "CC"  ],
   [ "Colombia",                                  "CO"  ],
   [ "Comoros",                                   "KM"  ],
   [ "CongoBrazzaville",                          "CG"  ],
   [ "CongoKinshasa",                             "CD"  ],
   [ "CookIslands",                               "CK"  ],
   [ "CostaRica",                                 "CR"  ],
   [ "Croatia",                                   "HR"  ],
   [ "Cuba",                                      "CU"  ],
   [ "Curacao",                                   "CW"  ],
   [ "Cyprus",                                    "CY"  ],
   [ "Czechia",                                   "CZ"  ],
   [ "Denmark",                                   "DK"  ],
   [ "DiegoGarcia",                               "DG"  ],
   [ "Djibouti",                                  "DJ"  ],
   [ "Dominica",                                  "DM"  ],
   [ "DominicanRepublic",                         "DO"  ],
   [ "Ecuador",                                   "EC"  ],
   [ "Egypt",                                     "EG"  ],
   [ "ElSalvador",                                "SV"  ],
   [ "EquatorialGuinea",                          "GQ"  ],
   [ "Eritrea",                                   "ER"  ],
   [ "Estonia",                                   "EE"  ],
   [ "Eswatini",                                  "SZ"  ],
   [ "Ethiopia",                                  "ET"  ],
   [ "FalklandIslands",                           "FK"  ],
   [ "FaroeIslands",                              "FO"  ],
   [ "Fiji",                                      "FJ"  ],
   [ "Finland",                                   "FI"  ],
   [ "France",                                    "FR"  ],
   [ "FrenchGuiana",                              "GF"  ],
   [ "FrenchPolynesia",                           "PF"  ],
   [ "FrenchSouthernTerritories",                 "TF"  ],
   [ "Gabon",                                     "GA"  ],
   [ "Gambia",                                    "GM"  ],
   [ "Georgia",                                   "GE"  ],
   [ "Germany",                                   "DE"  ],
   [ "Ghana",                                     "GH"  ],
   [ "Gibraltar",                                 "GI"  ],
   [ "Greece",                                    "GR"  ],
   [ "Greenland",                                 "GL"  ],
   [ "Grenada",                                   "GD"  ],
   [ "Guadeloupe",                                "GP"  ],
   [ "Guam",                                      "GU"  ],
   [ "Guatemala",                                 "GT"  ],
   [ "Guernsey",                                  "GG"  ],
   [ "Guinea",                                    "GN"  ],
   [ "GuineaBissau",                              "GW"  ],
   [ "Guyana",                                    "GY"  ],
   [ "Haiti",                                     "HT"  ],
   [ "HeardAndMcDonaldIslands",                   "HM"  ],
   [ "Honduras",                                  "HN"  ],
   [ "HongKong",                                  "HK"  ],
   [ "Hungary",                                   "HU"  ],
   [ "Iceland",                                   "IS"  ],
   [ "India",                                     "IN"  ],
   [ "Indonesia",                                 "ID"  ],
   [ "Iran",                                      "IR"  ],
   [ "Iraq",                                      "IQ"  ],
   [ "Ireland",                                   "IE"  ],
   [ "IsleOfMan",                                 "IM"  ],
   [ "Israel",                                    "IL"  ],
   [ "Italy",                                     "IT"  ],
   [ "IvoryCoast",                                "CI"  ],
   [ "Jamaica",                                   "JM"  ],
   [ "Japan",                                     "JP"  ],
   [ "Jersey",                                    "JE"  ],
   [ "Jordan",                                    "JO"  ],
   [ "Kazakhstan",                                "KZ"  ],
   [ "Kenya",                                     "KE"  ],
   [ "Kiribati",                                  "KI"  ],
   [ "Kosovo",                                    "XK"  ],
   [ "Kuwait",                                    "KW"  ],
   [ "Kyrgyzstan",                                "KG"  ],
   [ "Laos",                                      "LA"  ],
   [ "Latvia",                                    "LV"  ],
   [ "Lebanon",                                   "LB"  ],
   [ "Lesotho",                                   "LS"  ],
   [ "Liberia",                                   "LR"  ],
   [ "Libya",                                     "LY"  ],
   [ "Liechtenstein",                             "LI"  ],
   [ "Lithuania",                                 "LT"  ],
   [ "Luxembourg",                                "LU"  ],
   [ "Macao",                                     "MO", ],
   [ "Madagascar",                                "MG"  ],
   [ "Malawi",                                    "MW"  ],
   [ "Malaysia",                                  "MY"  ],
   [ "Maldives",                                  "MV"  ],
   [ "Mali",                                      "ML"  ],
   [ "Malta",                                     "MT"  ],
   [ "MarshallIslands",                           "MH"  ],
   [ "Martinique",                                "MQ"  ],
   [ "Mauritania",                                "MR"  ],
   [ "Mauritius",                                 "MU"  ],
   [ "Mayotte",                                   "YT"  ],
   [ "Mexico",                                    "MX"  ],
   [ "Micronesia",                                "FM"  ],
   [ "Moldova",                                   "MD"  ],
   [ "Monaco",                                    "MC"  ],
   [ "Mongolia",                                  "MN"  ],
   [ "Montenegro",                                "ME"  ],
   [ "Montserrat",                                "MS"  ],
   [ "Morocco",                                   "MA"  ],
   [ "Mozambique",                                "MZ"  ],
   [ "Myanmar",                                   "MM"  ],
   [ "Namibia",                                   "NA"  ],
   [ "Nauru",                                     "NR"  ],
   [ "Nepal",                                     "NP"  ],
   [ "Netherlands",                               "NL"  ],
   [ "NewCaledonia",                              "NC"  ],
   [ "NewZealand",                                "NZ"  ],
   [ "Nicaragua",                                 "NI"  ],
   [ "Niger",                                     "NE"  ],
   [ "Nigeria",                                   "NG"  ],
   [ "Niue",                                      "NU"  ],
   [ "NorfolkIsland",                             "NF"  ],
   [ "NorthKorea",                                "KP"  ],
   [ "NorthMacedonia",                            "MK"  ],
   [ "NorthernMarianaIslands",                    "MP"  ],
   [ "Norway",                                    "NO"  ],
   [ "Oman",                                      "OM"  ],
   [ "Pakistan",                                  "PK"  ],
   [ "Palau",                                     "PW"  ],
   [ "PalestinianTerritories",                    "PS"  ],
   [ "Panama",                                    "PA"  ],
   [ "PapuaNewGuinea",                            "PG"  ],
   [ "Paraguay",                                  "PY"  ],
   [ "Peru",                                      "PE"  ],
   [ "Philippines",                               "PH"  ],
   [ "Pitcairn",                                  "PN"  ],
   [ "Poland",                                    "PL"  ],
   [ "Portugal",                                  "PT"  ],
   [ "PuertoRico",                                "PR"  ],
   [ "Qatar",                                     "QA"  ],
   [ "Reunion",                                   "RE"  ],
   [ "Romania",                                   "RO"  ],
   [ "Russia",                                    "RU"  ],
   [ "Rwanda",                                    "RW"  ],
   [ "Samoa",                                     "WS"  ],
   [ "SanMarino",                                 "SM"  ],
   [ "SaoTomeAndPrincipe",                        "ST"  ],
   [ "SaudiArabia",                               "SA"  ],
   [ "Senegal",                                   "SN"  ],
   [ "Serbia",                                    "RS"  ],
   [ "Seychelles",                                "SC"  ],
   [ "SierraLeone",                               "SL"  ],
   [ "Singapore",                                 "SG"  ],
   [ "SintMaarten",                               "SX"  ],
   [ "Slovakia",                                  "SK"  ],
   [ "Slovenia",                                  "SI"  ],
   [ "SolomonIslands",                            "SB"  ],
   [ "Somalia",                                   "SO"  ],
   [ "SouthAfrica",                               "ZA"  ],
   [ "SouthGeorgiaAndSouthSandwichIslands",       "GS"  ],
   [ "SouthKorea",                                "KR"  ],
   [ "SouthSudan",                                "SS"  ],
   [ "Spain",                                     "ES"  ],
   [ "SriLanka",                                  "LK"  ],
   [ "SaintBarthelemy",                           "BL"  ],
   [ "SaintHelena",                               "SH"  ],
   [ "SaintKittsAndNevis",                        "KN"  ],
   [ "SaintLucia",                                "LC"  ],
   [ "SaintMartin",                               "MF"  ],
   [ "SaintPierreAndMiquelon",                    "PM"  ],
   [ "SaintVincentAndGrenadines",                 "VC"  ],
   [ "Sudan",                                     "SD"  ],
   [ "Suriname",                                  "SR"  ],
   [ "SvalbardAndJanMayen",                       "SJ"  ],
   [ "Sweden",                                    "SE"  ],
   [ "Switzerland",                               "CH"  ],
   [ "Syria",                                     "SY"  ],
   [ "Taiwan",                                    "TW"  ],
   [ "Tajikistan",                                "TJ"  ],
   [ "Tanzania",                                  "TZ"  ],
   [ "Thailand",                                  "TH"  ],
   [ "TimorLeste",                                "TL"  ],
   [ "Togo",                                      "TG"  ],
   [ "Tokelau",                                   "TK"  ],
   [ "Tonga",                                     "TO"  ],
   [ "TrinidadAndTobago",                         "TT"  ],
   [ "TristanDaCunha",                            "TA"  ],
   [ "Tunisia",                                   "TN"  ],
   [ "Turkey",                                    "TR"  ],
   [ "Turkmenistan",                              "TM"  ],
   [ "TurksAndCaicosIslands",                     "TC"  ],
   [ "Tuvalu",                                    "TV"  ],
   [ "Uganda",                                    "UG"  ],
   [ "Ukraine",                                   "UA"  ],
   [ "UnitedArabEmirates",                        "AE"  ],
   [ "UnitedKingdom",                             "GB"  ],
   [ "UnitedStates",                              "US"  ],
   [ "UnitedStatesOutlyingIslands",               "UM"  ],
   [ "UnitedStatesVirginIslands",                 "VI"  ],
   [ "Uruguay",                                   "UY"  ],
   [ "Uzbekistan",                                "UZ"  ],
   [ "Vanuatu",                                   "VU"  ],
   [ "VaticanCity",                               "VA"  ],
   [ "Venezuela",                                 "VE"  ],
   [ "Vietnam",                                   "VN"  ],
   [ "WallisAndFutuna",                           "WF"  ],
   [ "WesternSahara",                             "EH"  ],
   [ "Yemen",                                     "YE"  ],
   [ "Zambia",                                    "ZM"  ],
   [ "Zimbabwe",                                  "ZW"  ],
]

script_list = [
   [ "AnyScript",                 "Zzzz" ],
   [ "Adlam",                     "Adlm" ],
   [ "Arabic",                    "Arab" ],
   [ "Armenian",                  "Armn" ],
   [ "Avestan",                   "Avst" ],
   [ "Balinese",                  "Bali" ],
   [ "Bamum",                     "Bamu" ],
   [ "Bangla",                    "Beng" ],
   [ "Bassa Vah",                 "Bass" ],
   [ "Batak",                     "Batk" ],
   [ "Bhaiksuki",                 "Bhks" ],
   [ "Bopomofo",                  "Bopo" ],
   [ "Brahmi",                    "Brah" ],
   [ "Braille",                   "Brai" ],
   [ "Buginese",                  "Bugi" ],
   [ "Buhid",                     "Buhd" ],
   [ "CanadianAboriginal",        "Cans" ],
   [ "Carian",                    "Cari" ],
   [ "Caucasian Albanian",        "Aghb" ],
   [ "Chakma",                    "Cakm" ],
   [ "Cham",                      "Cham" ],
   [ "Cherokee",                  "Cher" ],
   [ "Coptic",                    "Copt" ],
   [ "Cuneiform",                 "Xsux" ],
   [ "Cypriot",                   "Cprt" ],
   [ "Cyrillic",                  "Cyrl" ],
   [ "Deseret",                   "Dsrt" ],
   [ "Devanagari",                "Deva" ],
   [ "Duployan",                  "Dupl" ],
   [ "Egyptian Hieroglyphs",      "Egyp" ],
   [ "Elbasan",                   "Elba" ],
   [ "Ethiopic",                  "Ethi" ],
   [ "Fraser",                    "Lisu" ],
   [ "Georgian",                  "Geor" ],
   [ "Glagolitic",                "Glag" ],
   [ "Gothic",                    "Goth" ],
   [ "Grantha",                   "Gran" ],
   [ "Greek",                     "Grek" ],
   [ "Gujarati",                  "Gujr" ],
   [ "Gurmukhi",                  "Guru" ],
   [ "Han",                       "Hani" ],
   [ "Hangul",                    "Hang" ],
   [ "Hanunoo",                   "Hano" ],
   [ "Hebrew",                    "Hebr" ],
   [ "Hiragana",                  "Hira" ],
   [ "Imperial Aramaic",          "Armi" ],
   [ "Inscriptional Pahlavi",     "Phli" ],
   [ "Inscriptional Parthian",    "Prti" ],
   [ "Japanese",                  "Jpan" ],
   [ "Javanese",                  "Java" ],
   [ "Kaithi",                    "Kthi" ],
   [ "Kannada",                   "Knda" ],
   [ "Katakana",                  "Kana" ],
   [ "Kayah Li",                  "Kali" ],
   [ "Kharoshthi",                "Khar" ],
   [ "Khmer",                     "Khmr" ],
   [ "Khojki",                    "Khoj" ],
   [ "Khudawadi",                 "Sind" ],
   [ "Korean",                    "Kore" ],
   [ "Lanna",                     "Lana" ],
   [ "Lao",                       "Laoo" ],
   [ "Latin",                     "Latn" ],
   [ "Lepcha",                    "Lepc" ],
   [ "Limbu",                     "Limb" ],
   [ "Linear A",                  "Lina" ],
   [ "Linear B",                  "Linb" ],
   [ "Lycian",                    "Lyci" ],
   [ "Lydian",                    "Lydi" ],
   [ "Mahajani",                  "Mahj" ],
   [ "Malayalam",                 "Mlym" ],
   [ "Mandaean",                  "Mand" ],
   [ "Manichaean",                "Mani" ],
   [ "Meitei Mayek",              "Mtei" ],
   [ "Mende",                     "Mend" ],
   [ "Meroitic Cursive",          "Merc" ],
   [ "Meroitic",                  "Mero" ],
   [ "Modi",                      "Modi" ],
   [ "Mongolian",                 "Mong" ],
   [ "Mro",                       "Mroo" ],
   [ "Myanmar",                   "Mymr" ],
   [ "Nabataean",                 "Nbat" ],
   [ "New Tai Lue",               "Talu" ],
   [ "Nko",                       "Nkoo" ],
   [ "Odia",                      "Orya" ],
   [ "Ogham",                     "Ogam" ],
   [ "Ol Chiki",                  "Olck" ],
   [ "Old Italic",                "Ital" ],
   [ "Old North Arabian",         "Narb" ],
   [ "Old Permic",                "Perm" ],
   [ "Old Persian",               "Xpeo" ],
   [ "Old South Arabian",         "Sarb" ],
   [ "Orkhon",                    "Orkh" ],
   [ "Osage",                     "Osge" ],
   [ "Osmanya",                   "Osma" ],
   [ "Pahawh Hmong",              "Hmng" ],
   [ "Palmyrene",                 "Palm" ],
   [ "Pau Cin Hau",               "Pauc" ],
   [ "Phags Pa",                  "Phag" ],
   [ "Phoenician",                "Phnx" ],
   [ "Pollard Phonetic",          "Plrd" ],
   [ "Psalter Pahlavi",           "Phlp" ],
   [ "Rejang",                    "Rjng" ],
   [ "Runic",                     "Runr" ],
   [ "Samaritan",                 "Samr" ],
   [ "Saurashtra",                "Saur" ],
   [ "Sharada",                   "Shrd" ],
   [ "Shavian",                   "Shaw" ],
   [ "Siddham",                   "Sidd" ],
   [ "Simplified Han",            "Hans" ],
   [ "Sinhala",                   "Sinh" ],
   [ "Sora Sompeng",              "Sora" ],
   [ "Sundanese",                 "Sund" ],
   [ "Syloti Nagri",              "Sylo" ],
   [ "Syriac",                    "Syrc" ],
   [ "Tagalog",                   "Tglg" ],
   [ "Tagbanwa",                  "Tagb" ],
   [ "Tai Le",                    "Tale" ],
   [ "Tai Viet",                  "Tavt" ],
   [ "Takri",                     "Takr" ],
   [ "Tamil",                     "Taml" ],
   [ "Telugu",                    "Telu" ],
   [ "Thaana",                    "Thaa" ],
   [ "Thai",                      "Thai" ],
   [ "Tibetan",                   "Tibt" ],
   [ "Tifinagh",                  "Tfng" ],
   [ "Tirhuta",                   "Tirh" ],
   [ "Traditional Han",           "Hant" ],
   [ "Ugaritic",                  "Ugar" ],
   [ "Vai",                       "Vaii" ],
   [ "Varang Kshiti",             "Wara" ],
   [ "Yi",                        "Yiii" ],
]

def countryCodeToId(code):
    if not code:
        return 0
    for country_id in range(len(country_list)):
        if country_list[country_id][1] == code:
            return country_id
    return -1

def languageCodeToId(code):
    if not code:
        return 0
    for language_id in range(len(language_list)):
        if language_list[language_id][1] == code:
            return language_id
    return -1

def scriptCodeToId(code):
    if not code:
        return 0
    for script_id in range(len(script_list)):
        if script_list[script_id][1] == code:
            return script_id
    return -1
